<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>作业</title>
</head>

<body>
  <script>
    //1.数组方法里面的push pop unshift shift的作用分别是什么，他们的返回值又是什么？
    /* 
    答：
      push()方法是将一个过多个元素添加到数组的尾部，返回数组的新长度。
      pop()方法是从数组的尾部删除一个元素，一次只能删除一个元素，返回被删除的元素值，会改变原数组的长度。
      unshift()方法是将一个或多个元素添加到数组的开头（头部），返回数组的新长度。
      shift()方法是从数组的开头（头部）删除一个元素，一次只能删除一个元素，返回被删除的元素值，会改变原数组的长度。
    */
    //2.移除数组 arr["西瓜","香蕉","菠萝"]中除西瓜外的所有元素，不要使用第二个数组
    function delItem() {
      var arr = ["西瓜", "香蕉", "菠萝"];
      arr.splice(1)
      console.log(arr);
    }
    delItem();

    //3.移除数组 arr[1, 2, 3, 4, 2] 中的 2。不要直接修改数组 arr，结果返回新的数组

    function delItem2() {
      var arr = [1, 2, 3, 4, 2];
      var newArr = [];
      for (var i = 0; i < arr.length; i++) {
        if (arr[i] !== 2) {
          newArr.push(arr[i])
        }
      }
      console.log(newArr);
    }
    delItem2();


    //4.定义一个函数,能在数组 arr[1, 2, 3, 4, 2] 的 "2"后面添加元素 "jack"。不要直接修改数组 arr，结果返回新的数组即调用函数后返回的结果为[1, 2,'jack',3, 4, 2,'jack']

    function updateItem() {
      var arr = [1, 2, 3, 4, 2];
      var newArr = [];
      for (var i = 0; i < arr.length; i++) {
        arr[i] === 2 ? newArr.push(2, "jack") : newArr.push(arr[i]);
      }
      console.log(newArr);
    }
    updateItem();

    //5.统计数组 arr[1, 2, 3, 4, 2] 中 2 出现的次数
    // function countItem() {
    //   var arr = [1, 2, 3, 4, 2];
    //   var count = 0;
    //   for (var i = 0; i < arr.length; i++) {
    //     arr[i] === 2 ? count++ : -1
    //   }
    //   console.log(`arr数组中的 2 出现了${count}次`);
    // }
    // countItem();

    
  </script>
</body>

</html>